package com.globalwave.eps.service;

import java.util.List;
import java.util.Map;

import com.globalwave.common.ArrayOrderList;
import com.globalwave.common.ArrayPageList;
import com.globalwave.eps.entity.ElectricityProject;
import com.globalwave.eps.entity.ElectricityProjectCriterion;

public interface ElectricityProjectService {
    
    public ArrayPageList<ElectricityProject> query(
            ElectricityProjectCriterion criterion, 
            int pageIndex, 
            int pageSize,
            ArrayOrderList orderList) 
    throws Exception ;
    
    public ArrayPageList<Object> report(
            ElectricityProjectCriterion criterion, 
            int pageIndex, 
            int pageSize,
            ArrayOrderList orderList) 
    throws Exception ;
    
    public ElectricityProject create(ElectricityProject electricityProject) throws Exception ;

    public ElectricityProject copy(ElectricityProject electricityProject) throws Exception ;
    
    public void update(ElectricityProject electricityProject) throws Exception ;
    public void delete(ElectricityProject electricityProject) throws Exception ;
    public ElectricityProject getWithLines(ElectricityProject electricityProject) throws Exception ;
    public List<Map<String, Object>> getBudgetStaffOptions() throws Exception ;
    public void deleteAll(Long[] ids) throws Exception ;
}
